In some of the existing compression of protocol data unit (PDU), primary importance is given to compression of a data format in a single layer. One such technology is the Internet protocol (IP) header compression where the emphasis is on the compression of specific protocol layers.
Compression of header information according to prior art is centered on compression of Internet protocol stack addresses. Compressible headers include TCP, UDP, IPv4 and IPv6 base header and extension header (e.g., see “IP Header Compression” (Network Working Group Request for Comments No.2507, 1999)). For TCP packets, the Van additional mechanisms which improve the efficiency of VJ header compression (Van Jacobson compression) over lossy links are also described. For non-TCP packets, compression slow-start and periodic refreshes minimize a period during which a packet is discarded due to a loss of a header that would cause its context to be changed. There are hooks for adding header compression schemes on top of UDP, e.g., compression of RTP headers.
Header compression relies on many fields being constant or changing seldomly in consecutive packets belonging to the same packet stream. Fields which do not change among packets need not be transmitted at all. Fields which often change with small and/or predictable values, for example, TCP sequence numbers can be encoded by incrementing the value by 1 at a time, and therefore it is possible to significantly reduce the number of bits necessary for these fields. Fields which frequently or randomly change, for example, checksums or authentication data need to be transmitted within every header.
A general principle of header compression is to occasionally send a packet including a full header. Compressed headers which are subsequently sent reference the context established by the full header. Furthermore, the compressed header may also contain incremental changes to the context. This header compression scheme does not require that all packets in the same stream pass over the compressed link. However, in a TCP stream, the difference among subsequent headers can become more irregular and the compression rate may decrease. The corresponding TCP data and acknowledgment packets need not traverse the link in opposite directions, either.
This header compression scheme is useful on first-hop links or last-hop links as well as links in the middle of the network. When many (several hundreds of) packet streams traverse the link, a phenomenon that could be called CID thrashing could occur. In this case, headers seldom can be matched with an existing context and need to be sent without compression, that is, as full headers. It is possible to use techniques such as hysteresis to ensure the packet streams giving the highest compression rate maintain their context. It is highly possible that such techniques are more likely to be required in the middle of the network.